Windows client software is designed based on window structure. Parent-child relationship, brother relationship, and etc, may exist between the windows. Based on these relationships, Windows operating system may manage display, focus, size, and etc. of windows, which greatly alleviates the windows developers' workload. For example: if a parent window is hidden, all child windows thereof would also be hidden and the focus of the windows would be lost, which are achieved under the Windows operating system.
This design also has some side effects. One of the most serious problems is ire that: once a child window experiences temporary lockup, the parent window would be locked up as well. For example: in the case that window's lagging and endless loop, etc. of a child window occur during a message processing, if the parent window is operated, such as changing the size of the parent window, displaying, hiding the parent window or setting the attribute of the parent window, window's lagging would occur in the parent window too, causing window's lagging of the integral window system occurs; then a user has to restart a windows if a new window is to be opened, which causes great inconvenience to the user. Herein window's lagging is a problematic status of the window system, showing that interfaces cannot be refreshed, buttons have no response to cocks and any of the operations fails to be performed.
For example, in a multi-tab browser, both the browser child window and the browser parent window of the browser frame are in a same thread. When a problem occurs in the browser child window, it would directly lead to window's lagging of the integral browser parent window, or even crash, that is, the integral browser is caused to be window's lagging state.
In the prior art, by arranging the parent window and the child window in different processes or threads, this could partially solve the problem that the frame parent window takes on window's lagging once window's lagging of the child window occurs. When window's lagging of a child window occurs, the thread in which the child window is positioned would fail to handle any message. At that time, if the thread in which the frame parent window is positioned does not send synchronization messages to the child window, the parent window can still respond to the user's operation. In this solution, since the Windows operating system would do a lot of logical processing to the windows that have parent-child relationship and brother relationship (for example, when the parent window is hidden, all the child windows of the parent window would be hidden, etc.), once window's lagging of a certain child window occurs, in the case that the parent window is hidden, the parent window would still send synchronous messages to the child window in which window's lagging occurs. Thus, since window's lagging of the child window occurs, window's lagging of the parent window would also occur, resulting in window's lagging of the integral window system occurs, that is, the integral window system is in the window's lagging state. For example, if window's lagging of the child window of the current tag of the browser occurs, when the browser frame parent window is hidden, synchronous messages would be sent to the child window which is in the window's lagging state, causing window's lagging of the integral browser.